package com.yungu.swift.order.model.vo;

import com.yungu.swift.base.model.BaseVo;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;

/**
 * @author Zerrion
 * @description
 * @date 2016/12/14. <br>
 */
@Data
public class JsonOrderListVo extends BaseVo {

    /**
     * 起点
     **/
    private String originAddress;
    /**
     * 目的地地址
     **/
    private String destAddress;
    /**
     * 订单类型（时效性）：1 实时订单， 2 预约订单
     **/
    private Integer typeTime;
    /**
     * 订单类型（行程）：1：用车，2：日租，3：半日租，4：送机，5：接机
     **/
    private Integer typeTrip;
    /**
     * 订单总费用（=司机收入=各费用之和*高峰溢价率+附加服务费等+（后台）调整价格）
     **/
    private Double totalFare;
    /**
     * 出发时间
     **/
    private Date deparTime;
    /**
     * 到达时间时间
     **/
    private Date arriveTime;
    /**
     * 车牌号
     **/
    private String plateNum;
    /**
     * 司机姓名
     **/
    private String driverName;
    /**
     * 司机电话
     **/
    private String driverMobile;
    /**
     * 实际乘车人数
     **/
    private Integer actualPasNum;
    /**
     * 订单子状态(100.等待应答 200.等待接驾-预约 201.等待接驾-已出发未到达 202.等待接驾-已到达
     * 300.行程开始 400.待支付 500.已完成(待评价) 501.已完成-已评价 600.取消-自主取消
     * 601.取消-后台取消 602.取消-应答前取消)
     **/
    private Integer subStatus;

    /**
     * 订单主状态
     **/
    private Integer mainStatus;

    /**
     * 订单实际支付金额
     */
    private Double actualFare;

    /**
     * 订单号
     */
    private String orderNo;

    /**
     * 订单预计里程
     */
    private Double planTrip;

    /**
     * 车型
     */
    private String carModelName;

    /**
     * 乘客昵称
     */
    private String passName;

    /**
     * 乘客电话
     */
    private String passMobile;

    /**
     * 优惠卷金额
     */
    private Double couponMoney;

    /**
     * 优惠卷编号
     */
    private String couponNo;

    /**
     * 订单模块类型（1：出租车，2：专车，3：拼车，4：快车，5：货的，6：骑手，7：搬家）
     **/
    private Integer typeModule;

    /**
     * 订单交互类型（1：推单，2：抢单）
     **/
    private Integer typeInteractive;

    /**
     * 订单车型ID
     **/
    private String carModelUuid;


    //拼车相关字段
    /**
     * 支付状态（0未支付 1已支付 2退款中 3已退款）
     **/
    private Integer payStatus;

    /**
     * 订单代叫类型（1 本人；2 代客）
     **/
    private Integer typeSelf;

    /**
     * 拼车路线ID
     **/
    private String wayUuid;

    /**
     * 拼车业务状态：100提交（待支付）、200预约中（已支付）、300预约成功（待安排）、400已安排（待出发）、500行程开始、600行程结束（已完成）
     **/
    private Integer joinStatus;

    /**
     * 拼车类型（1拼车 2包车）
     **/
    private Integer typeJoin;

    /**
     * 订单关闭状态（0正常 1关闭）
     **/
    private Integer closeStatus;

    /**
     * 订单关闭原因（其中针对跨城拼车定义：PAS_CANCEL乘客主动取消 DRI_CANCEL司机端取消【预留】 TIME_OUT超时系统自动取消 ADMIN_CLOSE后台关闭）
     **/
    private String closeReason;

    /**
     * 成人乘客数量
     **/
    private Integer adultNum;

    /**
     * 订单座位数
     **/
    private Integer seatNum;
    /**
     * 剩余可乘坐人数（拼车主订单）
     **/
    private Integer resNum;

    /**
     * 订单ID
     *
     * @return
     */
    private String orderUuid;

    /**
     * 订单需求类型 1普通拼车 2机场专线
     */
    private Integer orderDemand;

    /**
     * 真实乘车人姓名
     **/
    private String actualPasNam;

    /**
     * 真实乘客人手机号
     **/
    private String actualPasMob;

    /**
     * 订单金额
     **/
    private BigDecimal orderFare;
}
